package org.jeecg.modules.syncdata.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.syncdata.entity.SyncResult;

/**
 * 结果同步服务
 *
 * @author zhanglei01
 * @date 2022/03/23
 */
public interface SyncResultService extends IService<SyncResult> {

    /**
     * 获取下一个时间
     * 如果 firstTime为空，记录表中也为空，返回昨天日期，表中添加 first_time 为昨天日期
     * 如果 firstTime为空，记录表中不为空，返回表中 next_time，表中 first_time 不更新
     * 如果 firstTime不为空，记录表中为空，返回 firstTime 日期，表中添加 first_time为 firstTime
     * 如果 firstTime不为空，记录表中不为空，返回 firstTime 日期，表中 first_time 不更新
     *
     * @param tableName 表名
     * @param firstTime 第一次
     * @return {@link String}
     */
    String getNextTime(String tableName, String firstTime);

    /**
     * 设置下一个时间
     *
     * @param tableName 表名
     * @param nextTime  下次
     * @return {@link Boolean}
     */
    Boolean setNextTime(String tableName, String nextTime);

    /**
     * 设置下一个时间
     *
     * @param tableName 表名
     * @param nextTime  下次
     * @param msg       味精
     * @return {@link Boolean}
     */
    Boolean setNextTime(String tableName, String nextTime, String msg);

    /**
     * 获取同步结果除了order
     *
     * @param dayTime 一天的时间
     * @return {@link Boolean}
     */
    Boolean getSyncResultExceptOrder(String dayTime);

    /**
     * 是否所有完成
     *
     * @return {@link Boolean}
     */
    Boolean isAllFinish();

    boolean syncZbjkDataNum();
}
